#ifndef __VERTEXBUFFER__H
#define __VERTEXBUFFER__H

#include <GL/glew.h>

namespace Render
{
	enum BufferHint
	{
		StreamDraw,
		StreamRead,
		StreamCopy,
		StaticDraw,
		StaticRead,
		StaticCopy,
		DynamicDraw,
		DynamicRead,
		DynamicCopy,
	};

	class VertexBufferObject
	{
	public:
		VertexBufferObject(){}
		~VertexBufferObject(){
			Destroy();
		}

		int GetTotalVertices(){
			return m_iTotalVertices;
		}

		void SetTotalVertices(const int size){
			m_iTotalVertices = size;
		}

		void Init(){
			glGenBuffers(1, &vboVerticesID);
		}

		void Bind(){

		}

		void UnBind()
		{

		}

		void Destroy(){
			glDeleteBuffers(1, &vboVerticesID);
		}

	private:
		int m_iTotalVertices;
		GLuint vboVerticesID;

		/*int m_iSizeInBytes;
		BufferHint m_UsageHint;*/
	};
}


#endif